from django.db import models


class SegmentSchedule(models.Model):
    # 自增主键，唯一标识一个分段的日程安排
    segment_schedule_id = models.AutoField(primary_key=True)

    # 关联到 ship_segments 表的 ship_id，标识所属船舶
    ship_segments_id = models.IntegerField(unique=True,verbose_name='关联到ship_segments表的ship_segments_id')

    # 关联的分段编号
    segment_number = models.CharField(max_length=50, verbose_name='关联的分段编号')

    # 中期日程计划中的开工时间
    mid_schedule_start = models.DateTimeField(null=True, blank=True, verbose_name='中期日程计划中的开工时间')

    # 中期日程计划中的完工时间
    mid_schedule_end = models.DateTimeField(null=True, blank=True, verbose_name='中期日程计划中的完工时间')

    # 理论上最早的开工时间
    earliest_start = models.DateTimeField(null=True, blank=True, verbose_name='理论上最早的开工时间')

    # 最晚可以开始的时间
    latest_start = models.DateTimeField(null=True, blank=True, verbose_name='最晚可以开始的时间')

    # 必须完成的最晚时间
    latest_end = models.DateTimeField(null=True, blank=True, verbose_name='必须完成的最晚时间')

    class Meta:
        db_table = 'segment_schedule'  # 指定数据库表名
        verbose_name = '分段施工计划'
        verbose_name_plural = '分段施工计划'

    def __str__(self):
        return f"{self.segment_schedule_id} - {self.segment_number}"